Auto merge of #4520 - goffrie:master, r=alexcrichton
authorbors <bors@rust-lang.org>
Thu, 21 Sep 2017 19:34:16 +0000 (19:34 +0000)
committerbors <bors@rust-lang.org>
Thu, 21 Sep 2017 19:34:16 +0000 (19:34 +0000)
commitb80a566526d19a0ad61680d167382eb512df3c07
tree4bdf7975dc837a3f7a3f598807e6262797b8f075
parenta5b734d92541b1f246555287c5158c777ca2cb28
parent6e53b55d807fffa90baa5402f35dbfb055c73d19
Auto merge of #4520 - goffrie:master, r=alexcrichton

Don't visit the same unit multiple times.

This fixes some accidentally-exponential behaviour we were seeing in our
fairly large workspace. It brings a no-op cargo run from about 10
seconds to 0.3 seconds on my machine.

Also changes an association list to a hashmap because that was showing
up in profiles too.